package com.docker.common.common.utils.tool;

import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.provider.MediaStore;

import com.dcbfhd.utilcode.utils.ImageUtils;
import com.dcbfhd.utilcode.utils.ToastUtils;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class PhotoGalleryUtils {

    public static void saveImageToGallery(Context context, Bitmap bmp, String path, String name) {
        saveImageToGallery2(bmp, context);

//        // 首先保存图片
//        File appDir = new File(path, name);
//        if (!appDir.exists()) {
//            appDir.mkdir();
//        }
//
//
//        String fileName = System.currentTimeMillis() + ".jpg";
//        File file = new File(appDir, fileName);
//        ImageUtils.save(bmp, file, Bitmap.CompressFormat.PNG);
////        try {
////
////            FileOutputStream fos = new FileOutputStream(file);
////            bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);
////            fos.flush();
////            fos.close();
////        } catch (FileNotFoundException e) {
////
////            e.printStackTrace();
////        } catch (IOException e) {
////
////            e.printStackTrace();
////        }
//
//        // 其次把文件插入到系统图库
//        try {
//            MediaStore.Images.Media.insertImage(context.getContentResolver(),
//                    file.getAbsolutePath(), fileName, null);
//        } catch (FileNotFoundException e) {
//            e.printStackTrace();
//        }
//        // 最后通知图库更新
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // 判断SDK版本是不是4.4或者高于4.4
//            String[] paths = new String[]{file.getAbsolutePath()};
//            MediaScannerConnection.scanFile(context, paths, null, null);
//        } else {
//            final Intent intent;
//            if (file.isDirectory()) {
//                intent = new Intent(Intent.ACTION_MEDIA_MOUNTED);
//                intent.setClassName("com.android.providers.media", "com.android.providers.media.MediaScannerReceiver");
//                intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));
//            } else {
//                intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
//                intent.setData(Uri.fromFile(file));
//            }
//            context.sendBroadcast(intent);
//        }

    }

    static String galleryPath = Environment.getExternalStorageDirectory()
            + File.separator + Environment.DIRECTORY_DCIM
            + File.separator + "Camera" + File.separator;

    /**
     * 保存图片到相册
     */
    public static void saveImageToGallery2(Bitmap mBitmap, Context context) {
        if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {

            ToastUtils.showLong("sdcard未使用");
            return;
        }
        // 首先保存图片
        File appDir = new File(galleryPath);
        if (!appDir.exists()) {
            appDir.mkdir();
        }
        String fileName = System.currentTimeMillis() + ".jpg";
        File file = new File(appDir, fileName);
        try {
            FileOutputStream fos = new FileOutputStream(file);
            mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
            fos.flush();
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            return;
        } catch (IOException e) {
            e.printStackTrace();
            return;
        }

        // 其次把文件插入到系统图库
        try {
            MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } // 最后通知图库更新

        context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + "")));
    }

}
